nvme sanitize 您所在的位置:网站首页 nvme命令和nvme cli nvme sanitize

nvme sanitize

2023-08-29 02:02| 来源: 网络整理| 查看: 265

在今年5月份发布的NVMe Spec 1.3中,对数据安全方面增加了一个“Sanitize”功能,如下图。其实,Sanitize清除功能并不是NVMe新创,SATA和SAS硬盘早已支持的这个功能,现在终于加入到NVMe协议上面了。

当你手上有一块NVMe SSD不想使用或者想改换其他用途,为了保证SSD的数据不被泄露,你可能会想到用Secure Erase安全擦除的命令。但是,值得警惕的是,Secure Erase只会擦除映射表并标记无效数据,也就是说物理上的数据并没有被删除。而Sanitize则是直接从block级别在物理擦除SSD上的数据。

Sanitize清除的数据很彻底,对FTL映射表、User Data(包括已经写入NAND和仍在cache里的)、Meta Data、安全密匙、CMB中SQ/CQ相关信息、可能含有用户数据的log等等会全部清除。不过,sanitize操作不会改变RPMB、boot分区、不包含用户数据的cache等内容。

BPRMB是Replay Protected Memory Block的缩写,他的存在目的是用来给系统存放一些特殊的、需要进行访问授权的数据。

NVMe Spec中定义了三种Sanitize类型:Block Erase, Crypto Erase和Overwirte.

Block Erase:采用block级别清除所有的用户数据;

Crypo Erase: 擦除安全密匙;

Overwrite: 用特定的pattern数据覆盖用户数据。不过这个对NAND-based SSD不提倡,因为会降低NAND的使用寿命。

一旦启动了Sanitize操作,是不能中断的,除非fail了。即使power cycle或者controller level reset之后,santize会继续执行。

另外,在Sanitize执行过程中,不允许执行任何NVMe IO command, 但是允许执行一部分的NVMe admin command, 具体包括:

知乎网友问答:

flash的删除有3种机制,erase,trim,discard。 区别是erase对一个erase group操作,trim对一个block操作(通常是512byte),这两种结束后数据就彻底没了。 discard是标记数据为无效,但并不意味着数据就没了。discard后如果有一个sanitize(相当于磁盘碎片整理)操作的话,数据就彻底没了。

sanitize是由状态机触发的,后台操作。可以被HPI(高优先级的命令)打断。

在用户层面,你根本不知道删除文件后,SD卡做了多少的sanitize,因此最后的数据极有可能是部分老数据,部分未知。

除了普通的删除,还有secure erase,trim。 区别是会把数据的所有copy(为什么有copy,涉及到flash的存储方式,不展开了)也删掉。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有